﻿var timersUnifinished = null;
//全局初始化脚本
$(document).ready(function () {
   
});

function HelpSubmitSucess(data) {
    if (data.State == 0) {
        alert(data.Message);
    } else {
        alert("操作成功！");
        $('#dialog').dialog('close');
    }

}
function showDialog(url, title) {
    var $dialog = $("#dialog");
    $dialog.html("");
    $dialog.dialog("option", "title", title);
    $dialog.dialog("open");
    $.get(url, { r: Math.random() }, function (d) { $dialog.html(d); });
}
/// <summary>
/// <para> 功    能： 初始化编辑器 </para>
/// <para> 作    者： 韩保新 </para>
/// <para> 创建日期： 2011-10-18</para>
/// </summary>
function G_EditInit() {
    $("textarea[ref='editor']").each(function () {
        var xheditor = jQuery(this).xheditor({
            tools: 'mfull', skin: 'default', showBlocktag: true, internalScript: false, internalStyle: false, width: 630, height: 400,
            upImgUrl: "/Content/upload.aspx?immediate=1",
            upImgExt: "txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid",
            html5Upload: false,
            upFlashExt: "swf"
        });
    });
}

function numberInputInit() {
    var safeKeyCodes = [
    8, // 回退
    9, // Tab
    37, // 左
    38, // 上
    39, // 右
    40, // 下
    46,//删除
    45,
    110
    ];

    $("input.number")
        .keypress(function (e) {
            if ($.inArray(e.keyCode, safeKeyCodes) >= 0) {
                return true;
            }

            if (/[\d]/.test(String.fromCharCode(e.keyCode))) {
                return true;
            }

            if (/\./.test(String.fromCharCode(e.keyCode))) {
                return this.value.toString().indexOf(".") == -1;
            }

            return false;
        });

    //限制数字输入保留两位小数
    $("input.number").blur(function () {
        {
            var obj = $(this);
            //先把非数字的都替换掉，除了数字和.
            obj.val(obj.val().replace(/[^-\d.]/g, ""));
            //必须保证第一个为数字而不是.
            obj.val(obj.val().replace(/^\./g, ""));
            //保证只有出现一个.而没有多个.
            obj.val(obj.val().replace(/\.{2,}/g, "."));
            //保证.只出现一次，而不能出现两次以上
            obj.val(obj.val().replace(".", "$#$").replace(/\./g, "").replace("$#$", "."));
            if (obj.val() == "") {
                obj.val("0.00");
            }
            else {
                //obj.value = parseFloat(obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".")).toFixed(2);
                var str = obj.val().replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
                if (str.length > 12) {
                    alert("输入过长，只能输入12位，请重新输入！");
                    obj.val(str.substring(0, 12));
                }
                else {
                    var i = str.indexOf(".");
                    if (i > -1) {
                        obj.val(parseFloat(obj.val().replace(".", "$#$").replace(/\./g, "").replace("$#$", ".")).toFixed(2));
                    }
                    else {
                        obj.val(str);
                    }
                }
            }

        }
        $(this).val(obj.val());

    });


}
//输入框特殊字符处理及空白处理

function G_StripScript(s) {
    var pattern = new RegExp("[`~<>]");
    var rs = "";
    for (var i = 0; i < s.length; i++) {
        rs = rs + s.substr(i, 1).replace(pattern, '');
    }
    return rs;
}

//区域片区部门联动脚本
function selectCityInit(provinceId,cityId,areaId) {
    $("#"+provinceId).change(function () {
        $("#"+cityId)
            .load(G_Root_Url + "Category/SelectCityOptions",
            { category: "city", code: $(this).val(), emptyOption: true });
        if (areaId != "") {
            $("#" + cityId).html("");
            $("#"+areaId).html("");
        }
       
    });
}
function selectAreaInit(cityId, areaId) {
    $("#"+cityId).change(function () {
        $("#"+areaId)
            .load(G_Root_Url + "Category/SelectCityOptions",
            { category: "area", code: $(this).val(), emptyOption: true });
        if (areaId != "") {
            $("#" + areaId).html("");
        }
    });
}


//时间控件
function datepickerInit() {
    $(":text[ref='datepicker']").datepicker({
        changeYear: true,
        changeMonth: true
    });
}

///返回值处理
function CallBackObject(str) {
    var parames = {};
    parames.State = 0;
    parames.Message = "程序错误，请联系管理员！";
    try {
        if (str != "") {
            return eval('(' + str + ')');
        }

    }
    catch (e) {
    }
    return parames;
}

function G_Data_To_Excell(formName, url) {
    var $from = $("#" + formName);
    var oldAction = $from.attr("action");
    var oldeMethod = $from.attr("method");
    $from.attr("action", url);
    $from.attr("method", "post");
    $from.submit();
    $from.attr("action", oldAction);
    $from.attr("method", oldeMethod);
    return false;
}
function G_Data_To_Post(formName, url) {
    if (url == null || url == "")
        return;
    var $from = $("#" + formName);
    $from.attr("action", url);
    $from.submit();
}

function G_AjaxLoading(url, data, id) {
    if (data == "") {
        data = "{}";
    }
    var oldUrl = url;
    if (url.indexOf("?") >= 0) {
        url += "&r=" + Math.random();
    }
    else {
        url += "?r=" + Math.random();
    }
    $.ajax({
        type: 'get',
        url: url,
        beforeSend: function () {
            var t = $("#" + id).attr("title");
            $("#" + id).html("<center><img src='" + G_root_loading_img + "'/>" + t + "努力加载中...</center>");
        },
        data: data,
        contentType: "application/json",
        datatype: "json",
        success: function (res) {
            $("#" + id).html(res);
        },
        error: function () {
            var result = "<p style='float:left; width:100%; padding:6px 0; font-weight:normal; line-height:21px; text-indent:12px;'><a onclick=\"G_AjaxLoading('" + url + "','" + data + "','" + id + "')\">服务器没有返回数据，可能服务器忙，请重试！</a></p>";
            $("#" + id).html(result);
        }
    });
}

function IsDateStr(ds) {
    var parts = ds.split(' ');
    switch (parts.length) {
        case 2:
            if (isDatePart(parts[0]) == true && isTimePart(parts[1])) {
                return true;
            } else {
                return false;
            }
        case 1:
            var aPart = parts[0];
            if (aPart.indexOf(':') > 0) {
                return IsTimePart(aPart);
            } else {
                return IsDatePart(aPart);
            }
        default:
            return false;
    }
}

function IsDatePart(dateStr) {
    var parts;
    if (dateStr.indexOf("-") > -1) {
        parts = dateStr.split('-');
    } else if (dateStr.indexOf("/") > -1) {
        parts = dateStr.split('/');
    } else {
        return false;
    }
    if (parts.length < 3) {
        //日期部分不允许缺少年、月、日中的任何一项
        return false;
    }
    for (var i = 0; i < 3; i++) {
        //如果构成日期的某个部分不是数字，则返回false
        if (isNaN(parts[i])) {
            return false;
        }
    }

    var y = parseFloat(parts[0]); //年
    var m = parseFloat(parts[1]); //月
    var d = parseFloat(parts[2]); //日
    if (y > 3000) {
        return false;
    }
    if (m < 1 || m > 12) {
        return false;
    }
    if (d > 31 || d < 1) {
        return false;
    }
    switch (d) {
        case 29:
            if (m == 2) { //如果是2月份
                if ((y / 100) * 100 == y && (y / 400) * 400 != y) { //如果年份能被100整除但不能被400整除 (即闰年)
                } else {
                    return false;
                }
            }
            break;
        case 30:
            if (m == 2) {  //2月没有30日
                return false;
            }
            break;
        case 31:
            if (m == 2 || m == 4 || m == 6 || m == 9 || m == 11) { //2、4、6、9、11月没有31日
                return false;
            }
            break;
        default:

    }
    return true;
}

/***********************************************************************
* 判断一个字符串是否为合法的时间格式：HH:MM:SS
*/
function IsTimePart(timeStr) {
    var parts;
    parts = timeStr.split(':');
    if (parts.length < 2) {
        //日期部分不允许缺少小时、分钟中的任何一项
        return false;
    }
    for (var i = 0; i < parts.length; i++) {
        //如果构成时间的某个部分不是数字，则返回false
        if (isNaN(parts[i])) {
            return false;
        }
    }
    var h = parseFloat(parts[0]); //年
    var m = parseFloat(parts[1]); //月
    if (h < 0 || h > 23) { //限制小时的范围
        return false;
    }
    if (m < 0 || h > 59) { //限制分钟的范围
        return false;
    }
    if (parts.length > 2) {
        var s = parts[2]; //日
        if (s < 0 || s > 59) {
            //限制秒的范围
            return false;
        }
    }
    return true;
}


function SetCookie(name, value, time)//两个参数，一个是cookie的名子，一个是值
{
    var days = 1; //此 cookie 将被保存 30 天
    var exp = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + time * 60 * 60 * 1000);//days * 24 * 60 * 60 * 1000
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
function GetCookie(name)//取cookies函数        
{
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]); return null;

}
function DelCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = GetCookie(name);
    if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}


function GetUnifinishedByData() {
    $.get(GRootUrl + 'WeiboManage/Status/GetUnfinished', { r: Math.random() }, function (d) {
        if (d != "") {
            $("#UnfinishedLi").show();
        } else {
            $("#UnfinishedLi").hide();
            d = "d";
        }
        UnifinishedHtml(d);
        SetCookie("UnfinishedPermissionIN", d, 0.01);
    });
}

function UnifinishedHtml(json) {
    if (json != "") {
        try {
            var list = eval('(' + json + ')');
            var amount = 0;
            var strHtml = "";
            for (var i = 0; i < list.length; i++) {
                amount += list[i].DisplayNameCount;
                strHtml += '<li><a href="' + GRootUrl + list[i].Url + '"><span class="fl">';

                strHtml += list[i].DisplayName + '</span><em class="fr c_red">' + list[i].DisplayNameCount + '</em></a></li>';
            }
            var html = '<a href="#" class="ml10 fr">新提醒 <em class="warn"> ' + amount + ' </em></a>';
            html += '<div class="remind_layer"><div class="s_triangle"></div><div class="new_list"><ul>';
            html += strHtml;
            html += "</ul></div></div>";
            $("#UnfinishedLi").html(html);
            $("#UnfinishedLi").show();
        } catch (e) {

        }
    } else {
        $("#UnfinishedLi").html("");
        $("#UnfinishedLi").hide();
    }

}

function GetUnifinished() {
    var r = GetCookie("UnfinishedPermissionIN");
    if (r == null || r == "") {
        GetUnifinishedByData();
    } else {
        if (r != "d")
            UnifinishedHtml(r);
        else {
            UnifinishedHtml("");
        }
    }
}


Date.prototype.Format = function(fmt) { //author: meizz 
    var o = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "h+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};
function formatDate(val, row) {
    if (val == undefined||val == "") {
        return '-';
    } else {
        
        /*json格式时间转js时间格式*/
        val = val.substr(1, val.length - 2);
        var obj = eval('(' + "{Date: new " + val + "}" + ')');
        var dateValue = obj["Date"];
        if (dateValue.getFullYear() < 1900) {
            return "";
        }
        return dateValue.Format("yyyy-MM-dd");
    }
}

function closeDetectCapsLock(elem) {
    document.getElementById(elem).style.display = "none";
}


function detectCapsLock(e, elem) {
    var valueCapsLock = e.keyCode ? e.keyCode : e.which; // Caps Lock　是否打开 
    var o = document.getElementById(elem);
    var valueShift = e.shiftKey ? e.shiftKey : ((valueCapsLock == 16) ? true : false); // shift键是否按住  

    if (((valueCapsLock >= 65 && valueCapsLock <= 90) && !valueShift) // Caps Lock 打开，并且 shift键没有按住   
    || ((valueCapsLock >= 97 && valueCapsLock <= 122) && valueShift)) // Caps Lock 打开，并且按住 shift键   
    {
        o.style.display = "block";
    } else {
        o.style.display = "none";
    }
}
function callbackEnter(callfun) {
    document.onkeydown = function(event) { //回车
        var e = event || window.event || arguments.callee.caller.arguments[0];
        if (e && e.keyCode == 13) {
            return callfun();
        }
    };
}